//
// Created by zhupi on 2024/10/2.
//

#include "dialog_base_common.h"
#include <QVBoxLayout>

namespace
{
    const int BUTTON_WIDTH  = 90;
    const int BUTTON_HEIGTH = 24;
}

DialogBaseCommon::DialogBaseCommon(const QString &title, QWidget *parent) : QDialog(parent)
{
    InitWidget();
    AddTab("AddTab");
}

QWidget *DialogBaseCommon::AddTab(const QString &name)
{
    if (tabWidget_ == nullptr) {
        return nullptr;
    }
    QWidget *widget = new QWidget(tabWidget_);
    tabWidget_->addTab(widget,QIcon(), name);
    return widget;
}

void DialogBaseCommon::InitWidget()
{
    tabWidget_  = new QTabWidget(this);
    okButton_ = new QPushButton("Ok", this);
    cancelButton_ = new QPushButton("Cancel", this);

    QVBoxLayout *mainVbox = new QVBoxLayout;
    mainVbox->addWidget(tabWidget_);
    mainVbox->setContentsMargins(10,10,10,10);

    QHBoxLayout *hbox = new QHBoxLayout;
    hbox->addStretch();
    hbox->addWidget(okButton_);
    hbox->addWidget(cancelButton_);
    mainVbox->addLayout(hbox);

    // 设置底部边距
    mainVbox->setContentsMargins(10, 10, 10, 10); // 设置主布局边距：上、左、右、下均为 10
    mainVbox->setSpacing(10); // 控制各个控件之间的垂直间距

    this->setLayout(mainVbox);
}
